首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4-如何在关联的部分中使用辅助文本

Rails 4-如何在关联的部分中使用辅助文本
EN

Stack Overflow用户
提问于 2016-06-20 01:38:14
回答 1查看 30关注 0票数 0

我试图弄清楚如何从关联的脚手架中的视图中访问助手方法

我有一个叫做项目和伦理的模型。这些协会是:

代码语言:javascript
复制
Project has_many :ethics
Ethic belongs_to :project

在我的道德助手中,我有:

代码语言:javascript
复制
module EthicsHelper
    def text_for_subcategory(category)
      if category == 'Risk of harm'
            [ "Physical Harm", "Psychological distress or discomfort", "Social disadvantage", "Harm to participants", "Financial status", "Privacy"]
        elsif category == 'Informed consent'
            ["Explanation of research", "Explanation of participant's role in research"]
        elsif category == 'Anonymity and Confidentiality'
            ["Remove identifiers", "Use proxies", "Disclosure for limited purposes"]
        elsif category == 'Deceptive practices' 
            ["Feasibility"] 
        else category == 'Right to withdraw'    
            ["Right to withdraw from participation in the project"] 
       end
    end  

end

然后,在我的projects视图文件夹中,我有一个名为_ethics.html.erb的部分,它包含:

代码语言:javascript
复制
<% @project.ethics.each do | project_ethics_issue | %>
                       <strong>ETHICS CONSIDERATION: <%= project_ethics_issue.text_for_subcategory(@category) %></strong>
                        <%= project_ethics_issue.considerations %>

                    <% end %>  

在我的项目控制器中,我尝试过:

代码语言:javascript
复制
  include EthicsHelper

当我尝试这样做时,我会发现一个错误:

代码语言:javascript
复制
undefined method `text_for_subcategory' for #<Ethic:0x007fedc57b7b58>

有人能看到我哪里出了问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-20 02:02:02

_ethics.html.erb文件中,您只将此代码修改为:

代码语言:javascript
复制
<% @project.ethics.each do | project_ethics_issue | %>
  <strong>ETHICS CONSIDERATION: <%= text_for_subcategory(@category).join(",") %></strong>
  <%= project_ethics_issue.considerations %>
<% end %>  

更新:

我在您的文件ethics_helper.rb中看到,您的逻辑代码似乎不正确。

代码语言:javascript
复制
module EthicsHelper
  def text_for_subcategory(category)
    if category == 'Risk of harm'
        [ "Physical Harm", "Psychological distress or discomfort", "Social disadvantage", "Harm to participants", "Financial status", "Privacy"]
    elsif category == 'Informed consent'
        ["Explanation of research", "Explanation of participant's role in research"]
    elsif category == 'Anonymity and Confidentiality'
        ["Remove identifiers", "Use proxies", "Disclosure for limited purposes"]
    elsif category == 'Deceptive practices' 
        ["Feasibility"] 
    elsif category == 'Right to withdraw'    
        ["Right to withdraw from participation in the project"] 
    else
        []
    end
  end  
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37913593

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档