ruby-on-rails - 使用 Ruby on Rails 的表单助手

标签 ruby-on-rails ruby erb

我在我的一个 View 中使用表单助手,我希望用户从选项列表中进行选择。然后我想将所选选项的等效 ID 存储到我的数据库中。然而,每次我选择一个选项时,它的 id 都没有被存储,数据库只是为这个属性说 nil。

<%= f.label :"Team Against" %><br>
<%= f.select :opposing_team, options_for_select([['Team 1', 1], ['Team 2', 2], ['Team 3', 3]]) %><br>

例如,我的表中有一列名为“opposing_team”,当用户选择团队 1 时,我希望 opposing_team 更新为值 1。目前我可以在表单中选择选项范围,但是opposing_team 值始终为零。

编辑:

def create
    @league = League.find(params[:league_id])
    @team = @league.teams.find(params[:team_id])
    @fixture = @team.fixtures.create(fixture_params)
    if @fixture.save
        redirect_to league_team_path(:league_id => @league.id, :id => @team.id)
    else
        render 'new'
    end

end 
def new
    @team = Team.find(params[:team_id])
    @fixture = Fixture.new 
end

这就是 fixtures Controller 的组成部分。 opposing_team 是数据库中的整数值。

最佳答案

这是一个常见问题,最常见的答案是 strong_parameters缺少必需的 key 。 在您的 Controller 中,您的末尾是否有一个类似于以下内容的方法:

def fixture_params
  params.require(:fixture).permit(:value, :other_value)
end

如果是这样,将 :opposing_team 添加到键列表中。

def fixture_params
  params.require(:fixture).permit(:value, :other_value, :opposing_team)
end

关于ruby-on-rails - 使用 Ruby on Rails 的表单助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36198324/

相关文章:

ruby - 如何配置 tomcat 以使用 jruby 处理 rhtml 页面?

sublimetext2 - Sublime 中 ERB 的自动完成

ruby-on-rails - Rails : model. 保存返回 false 但models.errors 是空哈希

Heroku 上的 Javascript Assets 编译错误

ruby-on-rails - 加载到 Heroku 时的 Carrierwave/fog/AWS 问题 "cannot load such file -- fog"

ruby-on-rails - :before_save and :before_update Active Record callbacks? 和有什么区别

ruby-on-rails - 添加 www.总体设计电子邮件或 Rails?

ruby 数学 gem

ruby-on-rails - Ruby on Rails : "Error installing rails: rdoc requires json"

ruby - HAML Ruby - 条件