【问题标题】:Change text of drop down menu based on category id in rails 4, bootstrap 3根据rails 4,bootstrap 3中的类别ID更改下拉菜单的文本
【发布时间】:2015-07-27 16:34:48
【问题描述】:

我创建了一个工作类别下拉菜单,基于从菜单中选择的文本必须更改。在这个应用程序中使用 Bootstrap 3,创建了一个工作类别模型并将其 id 分配给工作。是否有使用- Jobcategory.all.each do |jobcategory| %li= link_to jobcategory.name,时更改下拉菜单文本的方法

class Jobcategory < ActiveRecord::Base
	has_many :jobs
end


class Job < ActiveRecord::Base
	belongs_to :jobcategory
	validates :jobcategory,    presence: true
end

class JobsController < ApplicationController
	before_action :find_job, only: [:show, :edit, :update, :destroy]
	before_action :authenticate_user!,except:[:index]


	def index
		if params[:jobcategory].blank?
			@jobs = Job.all.order("created_at DESC")
		else
			@jobcategory_id = Jobcategory.find_by(name: params[:jobcategory]).id
			@jobs =Job.where(jobcategory_id: @jobcategory_id).order("created_at DESC")
		end
	end


ActiveRecord::Schema.define(version: 20150512104628) do

  # These are extensions that must be enabled in order to support this database
  enable_extension "plpgsql"

  create_table "jobcategories", force: true do |t|
    t.string   "name"
    t.datetime "created_at"
    t.datetime "updated_at"
  end

  create_table "jobs", force: true do |t|
    t.string   "title"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "jobcategory_id"
    t.integer  "user_id"
    t.boolean  "active"
  end


index.html.haml

%hearder
	%nav.navbar.navbar-job
		.container{class: "text-center"}
			%div{class: "btn-group"}
				%ul.dropdown
					%a.btn.dropdown-toggle.btn-job{"data-toggle" => "dropdown","role" => "button"}
						%span{class: "caret"}
					%ul.dropdown-menu
						%li= link_to "All Jobs", jobs_path
						- Jobcategory.all.each do |jobcategory|
							%li= link_to jobcategory.name, jobs_path(jobcategory: jobcategory.name)

【问题讨论】:

    标签: javascript ruby-on-rails twitter-bootstrap ruby-on-rails-4 twitter-bootstrap-3


    【解决方案1】:

    是的,当然可以。

    您的参数中已经有工作类别名称:

    %ul.dropdown
      %a.btn.dropdown-toggle.btn-job{ data: { toggle: 'dropdown' }, role: 'button' }
        = params[:jobcategory] || 'Choose category' # in case it is `nil`
        %span.caret
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-10
      • 1970-01-01
      • 2022-12-09
      • 1970-01-01
      • 2014-11-25
      • 1970-01-01
      相关资源
      最近更新 更多